Skip to content

MessageSizeEvolution: Focus the chart on chosen entry methods - #169

Merged
ritvikrao merged 3 commits into
mainfrom
msg-size-evolution-entry-filter
Aug 24, 2026
Merged

MessageSizeEvolution: Focus the chart on chosen entry methods#169
ritvikrao merged 3 commits into
mainfrom
msg-size-evolution-entry-filter

Conversation

@lvkale

@lvkale lvkale commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

From Kale's wishlist, verified by him in the GUI on the 896-PE frontier trace: study message sizes one entry method (or a few) at a time.

The reader was already handed each message's entry method and threw it away. Counts are now kept per entry method ([timeBin][msgBin][ep], about 2 MB at the default 100x10 bins for 500 entry methods), and only the chosen ones are summed into the chart, so toggling re-aggregates in memory with no log re-read. The heat colors renormalize to the visible subset, which is what makes focusing on one entry method's sizes readable.

A Select Entry Methods button (with an "N of M shown" label) opens the shared ChooseEntriesWindow with its visibility column; the window implements EntryMethodVisibility with sortEntriesByCount, so entry methods are listed busiest first with their message counts. Everything starts visible, so the chart is unchanged until something is switched off.

Details:

  • Events whose entry id is outside the sts table land in a catch-all slot that is always displayed, so filtering can never silently change the total.
  • Hide All (or hiding the one entry method carrying the traffic) leaves every visible cell zero; the paint scale's maximum is clamped so that draws a uniformly white chart instead of throwing (GrayPaintScale rejects an empty range).
  • A latent NPE is fixed: failing bin-size validation no longer falls through to drawing a plot with no data.

🤖 Generated with Claude Code

lvkale and others added 2 commits August 22, 2026 20:31
The reader was already told each message's entry method and threw it
away. Keep the counts per entry method and sum only the chosen ones
into the chart, so message sizes can be studied one entry method (or a
few) at a time; a Select Entry Methods button opens the shared chooser
with its visibility column, listing entry methods busiest first with
their message counts. Everything starts visible, so the chart is
unchanged until something is switched off.

Events whose entry id is outside the sts table land in a catch-all
slot that is always displayed, so filtering can never silently change
the total. At the default 100x10 bins the per-entry-method array costs
about 2 MB per 500 entry methods.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…zero

Hide All (or hiding the one entry method carrying the traffic) left
the paint scale with no positive maximum, and GrayPaintScale throws
on an empty range. Clamp the maximum to one so the chart comes out
uniformly white instead. Found by Kale on the 896-PE frontier trace.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lvkale
lvkale requested review from adityapb and removed request for matthiasdiener August 23, 2026 03:42
@ritvikrao
ritvikrao merged commit 6888a11 into main Aug 24, 2026
2 checks passed
@ritvikrao
ritvikrao deleted the msg-size-evolution-entry-filter branch August 24, 2026 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants